package com.lvy.hczn.transmit.service;

import com.lvy.hczn.front.system.domain.business.*;
import com.lvy.hczn.mq.rocket.ParamInfo;
import com.lvy.hczn.transmit.domain.dto.cteck.DeliveryOrderInfo;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface TDeliveryOrderInfoService {

    /**
     * 从平台同步配送单
     *
     * @param request
     * @param info
     * @return
     * @author yw
     * @date 2023-06-03 11:18:56
     */
    void syncDeliveryFromPlatform(HttpServletRequest request, ParamInfo info);

    /**
     * 生成的仓库数据推送到仓库
     *
     * @param deliveryOrder
     * @param entryList
     * @param boxCodeList
     * @param warehouse
     * @param purchaseOrder
     * @return
     * @author yw
     * @date 2023-08-17 10:27:16
     */
    void sendMsg(DeliveryOrder deliveryOrder, List<WarehousingEntry> entryList, List<GoodsBox> boxCodeList, Warehouse warehouse, PurchaseOrder purchaseOrder);

    /**
     * 生成配仓库取货单和入库单（仓库维度）
     *
     * @param purchaseOrderInfo
     * @param deliveryOrder
     * @param entryList
     * @return
     * @author yw
     * @date 2023-08-17 10:19:20
     */
    void generateDeliver(PurchaseOrder purchaseOrderInfo, DeliveryOrder deliveryOrder, List<WarehousingEntry> entryList);

    void access(String entryCode,String deliveryCode, Integer type, String warehouseCode);
}
